// 定义日志消息类
#pragma once
#include "util.hpp"
#include "level.hpp"
#include <iostream>
#include <string>
#include <thread>
using namespace std;
namespace LOG
{
    struct LogMsg
    {
        // 这里直接用struct 因为它的默认的访问限定符为public
        time_t _ctime;          // 日志的时间
        LogLevel::value _level; // 日志的等级
        size_t _line;           // 行号
        thread::id _pid;        // 线程ID
        string _file;           // 文件名
        string _logger;         // 日志器名称
        string _payload;        // 有效载荷
        LogMsg(LogLevel::value level,
               size_t line,
               string file,
               string logger,
               string msg)
            : _level(level),_ctime(util::Data::getime()), _line(line), _file(file), _logger(logger), _payload(msg),_pid(this_thread::get_id())
        {
        }
    };
}